using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace fenk.Varios
{
    public partial class CallCenter : mvLibrary.BaseForm
    {
        public CallCenter()
        {
            InitializeComponent();
        }
        // AL LLAMAR AL PROGRAMA "CALL.CENTER" APLIC.DATA ENVIA ESTOS VALORES..
        // ITEM<20> = FECHA 
        //
        // APLIC.DATA<1> "LIST" carga listado de llamados pendientes
        // regresando...
        // ITEM<1,MV> = CALL ID
        // ITEM<2,MV> = HORA
        // ITEM<3,MV> = DETALLE
        // ITEM<4,MV> = USER
        // ITEM<5,MV> = INTERNO

        // o..
        // APLIC.DATA<1> = "UPDATE" actualiza llamado
        // APLIC.DATA<2> = MV - posicion del llamado en ITEM
        // APLIC.DATA<3> = RESULTADO: 'CUMPLIDA','CANCELADA','TRANSFERIDA'
        // APLIC.DATA<4> = FECHA TRANSFERIDA
        // APLIC.DATA<5> = HORA TRANSFERIDA
        //
        public void UpdateGrid()
        {
            callsGrid.Rows.Clear();
            int max = Item.DCount(1);
            for (int i = 0; i < max; i++)
			{
			 callsGrid.Rows.Add(Item[4,i+1].ToString(),Item[5,i+1].ToString(),Item.OConv(2,i+1,"MT"),Item[3,i+1].ToString());
			}
        }
        private void timer1_Tick(object sender, EventArgs e)
        {
           AplicData[1] = "LIST";
           CallProgram("CALL.CENTER", 1, 1);
           UpdateGrid();
        }

       
        public override void AfterReadItem()
        {
        }

        
        private void CallCenter_Load(object sender, EventArgs e)
        {
            toolBox.Visible = false;
            mvTextID.Text = DateTime.Now.ToShortDateString();
            AplicData[1] = "LIST";
            CallProgram("CALL.CENTER",1,1);
            UpdateGrid();
        }

    

        private void button2_Click(object sender, EventArgs e)
        {
            AplicData[1] = "LIST";
            CallProgram("CALL.CENTER",1,1);
            if (Item.DCount(1) == 0)
            {
                MessageBox.Show("No hay llamados pendientes");
                mvTextID.Focus();
            }
            else
            {
                UpdateGrid();
            }
        }

        private void btnSearch_Click(object sender, EventArgs e)
        {
            if (textSearch.Text.Length == 0)
            {
                MessageBox.Show("Falta indicar texto de busqueda", "Buscar en Agenda");
                textSearch.Focus();
                return;
            }
            AplicData[1] = "SEARCH";
            AplicData[2] = textSearch.Text;
            CallProgram("CALL.CENTER", 1, 1);
            if (AplicData.DCount(3) == 0)
            {
                MessageBox.Show("No hay registros");
                textSearch.Focus();
            }
            {
                gridAgenda.Rows.Clear();
                int max = AplicData.DCount(3);
                for (int i = 0; i < max; i++)
                {
                    gridAgenda.Rows.Add(AplicData[3, i + 1].ToString(), AplicData[4, i + 1].ToString(), AplicData[5, i + 1].ToString(), AplicData[6, i + 1].ToString());
                }
            }
        }

        private void callsGrid_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            string callDate = _item.OConv(20, "D2/") + " " + _item.OConv(2, "MTS");
            fenk.Varios.CallCenterCloseCall form = new CallCenterCloseCall(callDate,_item[4,e.RowIndex + 1].ToString(),_item[3, e.RowIndex + 1].ToString());
            form.ShowDialog();
            if (form.DialogResult == DialogResult.OK)
            {
                AplicData[1] = "UPDATE";
                AplicData[2] = e.RowIndex.ToString();
                AplicData[3] = form.Resultado;
                AplicData[4] = form.Notas;
                AplicData[5] = form.Fecha;
                AplicData[6] = form.Hora;
                CallProgram("CALL.CENTER",1,1);
                UpdateGrid();
            }
          
        }
        
    }
}

